Model Preview
Model Preview displays a read-only version of the model for review and testing.
When testing your app or viewing your test results, you might want to revisit the model in order to understand how various parts are connected. To view a model go to Designer > Models and click View on a model of your choice.
If you're a new user, you might want to try creating a new model first so that you have something to work with.
If this is your first time seeing the Model Preview then you may want to review the visual comparison between Model Editing and Model preview.
At the top of the Model Preview page there are handy links related to the current model:
- Models: Links to the full model list.
- Results: Links to test results
- Coverage: coverage
- Test Cases: test cases.
- Export: Download the current model as json.
- Edit: Make changes to the currnt model.
- Run: Test this model in a Live Run.
Model preview top menu
Workspace
The Workspace displays a visual representation of your model. Clicking on a state or action shows the properties for the selected element in the Inspector. You can click and drag on empty space to pan or scroll when hovering over the workspace to zoom.
Model workspace
Element Properties
Selecting an element in the Workspace will automatically enable the Element Properties tab. You can alter the width of the Inspector by dragging the border between the Inspector and the Workspace.
Model preview right pane
State Properties
The following properties are shown when selecting a state:
- State Name
- Description: free text describing the state.
- Type: either Start, Normal, Cleanup or Exception.
- Tags: to categorize your model to help with bug hunting.
Model preview state properties
The Run section reveals any snippets or parameters that are defined within the context of the state. Any snippets that are associated with the state will run the defined script within the snippet when the DAI engine lands on that particular state. Any parameters defined within the state are available to the state and any child actions that are defined within the state.
Model preview state run actions
Action Properties
The following properties are shown when selecting an action:
- Action Name
- Description: free text describing the action.
- Type: Normal, Sequent or Previous.
- Weight: the probability of the engine selecting the action during an exploratory test.
- Action Limit: number of times an action can be chosen within a state.
- Reset action limit: reset action limit upon entering a state.
- Tags: categories to help with Bug Hunting.
- Connection Destination(s): any connected states or sequent actions.
Model preview action properties
Run Actions
There are 3 stages that occur when running an action. Each stage is described below.
Model preview action run actions
Pre-Run
Pre-conditions
These are rules that must be met before an action will be run by the engine. There can be multiple pre-conditions for any action. They can include any parameters that are in scope including parameters from the parent state and global scope. Each pre-condition contains the following fields:
- Parameter: the name of the parameter. The scope is also shown for each parameter in braces.
- Type: the parameter data type.
- Operation: the operator used for comparison.
- Value: the parameter value used in conjunction with the operator.
Set and Generate Parameter Values
These are rules that define parameter values before the engine runs the action snippet. There can be multiple set and generate rules for each action. Each rule contains the following fields:
- Parameter: the name of the parameter. The scope is also shown for each parameter in braces.
- Type: the parameter data type.
- Operation: this will be either
set
orgenerate
. - Value: the parameter value used in conjunction with the operator.
Model preview action pre-run settings
Run
See Snippets and Parameters.
Model preview action run settings
Post-Run
Checks occur after a snippet was run so you can verify parameter values for certain conditions, otherwise the action will fail. Each check contains the following fields:
- Parameter: name of the parameter.
- Condition: the operator of the condition.
- Value: the value of the condition.
- Message: an error message for when the condition falis the check
Model preview action post-run settings
Global Properties
You may select the Global Properites tab at any time.
Model preview global properties
Global Parameters
Global parameters are available to all states and actions within your model. See Parameters.
Tag Definitions
Tag definitions let you create tags with explicit values to help you categorize parts of your model to improve bug hunting. An example might be categorizing a particular feature by type or by the development team that created it. Any failures found when running tests will then influence the engine to add more probability to the algorithm that decides which states and actions to hit.
Each tag definition has a name and a list of values separated by a comma.
Snippets
Multiple snippets can be defined for a state or action. These are run in their listed order. Each snippet is displayed with the following fields:
- Name: the associated script filename.
- Disabled: allows a snippet to be disabled during a run.
- Input: lists any input parameters that are passed to the script.
- Output: lists any parameters that are returned from the script.
Parameters
Each parameter that is defined globally or for a state or action contains the following fields:
- Name: name of the parameter.
- Type: data type of the parameter.
- Generation: whether the parameter value is randomly generated.
- Initial Value: works in conjunction with non-generated parameters to set their initial value.
Comparison
The model elements have a fresh look in this preview that varies from their appearance in the Model Editor. The following table lists the before and after preview of the new elements along with the existing elements:
Element | Before | Now |
---|---|---|
Initial State | ||
Action with snippet attached | ||
Action without snippet attached | ||
Global Action - See Global Actions for more information on how to create Global Actions. | ||
Action with submodel attached: Note that Submodels take precedence over other action types. If an action uses a submodel then that action will always display as a submodel type even if the action also uses a snippet or exits. | ||
Predefined Exit State associated with an action from the Connections from Action menu in Modeler | ||
Previous Action | ||
Sequential Action | ||
State without snippet attached | ||
State with snippet attached |
The default hidden states (Error, Cleanup and Exit) are not yet visible.